package com.zxy.service;



import com.baomidou.mybatisplus.extension.service.IService;
import com.zxy.common.result.PageResult;

import com.zxy.common.result.Result;
import com.zxy.pojo.dto.ClueFalseDto;
import com.zxy.pojo.dto.CluePageQueryDto;
import com.zxy.pojo.entity.Clue;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public interface ClueService extends IService<Clue> {

    /**
     * 查询线索列表
     * @param dto
     * @return
     */
    PageResult selectCluelist(CluePageQueryDto dto);

    /**
     * 新增线索
     * @param clue
     * @return
     */
    Result add(Clue clue);

    /**
     * 获取线索详细信息
     * @param id
     * @return
     */
    Clue selectClueById(Long id);

    /**
     * 线索池分页查询
     * @param dto
     * @return
     */
    PageResult cluePoolPageQuery(CluePageQueryDto dto);

    /**
     * 分配线索
     * @param clueIds
     * @param userId
     * @return
     */
    String assignment(Long[] clueIds, Long userId);

    /**
     * 捞取线索
     * @param clueId
     * @return
     */
    Result gainClue(Long clueId);

    /**
     * 伪线索
     * @param dto
     * @param clueId
     * @return
     */
    Result markAsFalseClue(ClueFalseDto dto, Long clueId);

    /**
     * 线索转商机
     * @param id
     * @return
     */
    Result changeBusiness(Long id);
}
